const storage = {
	set (key, value) {
			const res = uni.getStorageInfoSync();

	  if (!res) {
	    return
	  }
	  if (key != null && value != null) {
	    uni.setStorageSync(key, value)
	  }
	},
	get (key) {
	 const res = uni.getStorageInfoSync();
	 
	 if (!res) {
	    return null
	  }
	  if (key == null) {
	    return null
	  }
	  return uni.getStorageSync(key)
	},
	setJSON (key, jsonValue) {
	  if (jsonValue != null) {
	    this.set(key, JSON.stringify(jsonValue))
	  }
	},
	getJSON (key) {
	  const value = this.get(key)
	  if (value&&value != null) {
	    return JSON.parse(value)
	  }
	},
	remove (key) {
	  uni.removeStorage(key);
	}
}
const sessionCache = {
  set (key, value) {
    if (!sessionStorage) {
      return
    }
    if (key != null && value != null) {
      sessionStorage.setItem(key, value)
    }
  },
  get (key) {
    if (!sessionStorage) {
      return null
    }
    if (key == null) {
      return null
    }
    return sessionStorage.getItem(key)
  },
  setJSON (key, jsonValue) {
    if (jsonValue != null) {
      this.set(key, JSON.stringify(jsonValue))
    }
  },
  getJSON (key) {
    const value = this.get(key)
    if (value != null) {
      return JSON.parse(value)
    }
  },
  remove (key) {
    sessionStorage.removeItem(key);
  }
}
const localCache = {
  set (key, value) {
    if (!localStorage) {
      return
    }
    if (key != null && value != null) {
      localStorage.setItem(key, value)
    }
  },
  get (key) {
    if (!localStorage) {
      return null
    }
    if (key == null) {
      return null
    }
    return localStorage.getItem(key)
  },
  setJSON (key, jsonValue) {
    if (jsonValue != null) {
      this.set(key, JSON.stringify(jsonValue))
    }
  },
  getJSON (key) {
    const value = this.get(key)
    if (value != null) {
      return JSON.parse(value)
    }
  },
  remove (key) {
    localStorage.removeItem(key);
  }
}

export default {
	/**
	 * uniapp 缓存
	 */
	
	storage:storage,
  /**
   * 会话级缓存
   */
  session: sessionCache,
  /**
   * 本地缓存
   */
  local: localCache
}
